// 路由
// createRouter 创建vue-router实例对象
// RouteRecordRaw 用于规范路由规则，类型现在
// createWebHashHistory 用来使用路由实例，工作模式(hash)及路由规则
import { createRouter, RouteRecordRaw, createWebHashHistory } from 'vue-router'

// 创建路由规则
const routes: Array<RouteRecordRaw> = [
    {
        path: '/',
        component: ()=> import('../components/HelloWorld.vue')
    },
    {
        path: '/login',
        component: ()=> import('../components/login.vue')
    }
]

// 引入store的 userStore
import { userStore } from '../store/user'

// 创建路由实例的对象
const router = createRouter({
    history: createWebHashHistory(),
    routes
})

// 挂载路由守卫
router.beforeEach((to, from, next)=>{
    const store = userStore()
    // 登录页面，进入直接放行
    if(to.path === '/login') {
        return next()
    }else{
        if(store.token) {
            return  next()
        }else{            
            return next('/login')
        }            
    }
  })
   
  // 3导出路由   然后去 main.ts 注册 router.ts
  export default router